package logic;

import dao.CoberturaDAO;
import dto.CoberturaDTO;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author lucifer
 */
public class Cobertura {

  private int id;
  private int idMedico;
  private int idObraSocial;
  private int idPlanObraSocial;

  public Cobertura(int id, int idMedico, int idObraSocial, int idPlanObraSocial) {
    this.id = id;
    this.idMedico = idMedico;
    this.idObraSocial = idObraSocial;
    this.idPlanObraSocial = idPlanObraSocial;
  }

  public Cobertura(CoberturaDTO dto){
    this.id = dto.getId();
    this.idMedico = dto.getIdMedico();
    this.idObraSocial = dto.getIdObraSocial();
    this.idPlanObraSocial = dto.getIdPlanObraSocial();
  }

  public void Save() throws SQLException {
    CoberturaDTO dto = new CoberturaDTO(-1, idMedico, idObraSocial, idPlanObraSocial);
    CoberturaDAO dao = CoberturaDAO.createDAO();
    id = dao.Save(dto);
  }

  public static String DeleteByMedicoID(int idMedico) {
    String err = null;
    try {
      CoberturaDAO.createDAO().DeleteByMedicoID(idMedico);
    } catch (SQLException e) {
      err = e.getSQLState();
    }
    return err;
  }

  public static CoberturaDTO SearchByID(int id) throws SQLException {
    CoberturaDAO dao = CoberturaDAO.createDAO();
    return dao.CoberturaDTO(id);
  }

  public static ArrayList<CoberturaDTO> SearchByMedicoID(int idMedico) throws SQLException {
    CoberturaDAO dao = CoberturaDAO.createDAO();
    return dao.SearchByMedicoID(idMedico);
  }

  public int getId() {
    return id;
  }

  public int getIdMedico() {
    return idMedico;
  }

  public int getIdObraSocial() {
    return idObraSocial;
  }

  public int getIdPlanObraSocial() {
    return idPlanObraSocial;
  }

}
